package com.zuipin.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zuipin.entity.SysUnit;
import com.zuipin.util.Pagination;

/**
 *  组织部门mapper
  * @ClassName: SysUnitMapper
  * @Description: TODO
  * @author robot
  * @date 2017年09月147日 09:21:08
  *
 */
@Mapper
public interface SysUnitMapper {
	/**
	  * 查询组织部门
	  * @Title: findById
	  * @author robot
	  * @date 2017年09月147日 09:21:08
	  * @param id,
	  * @return
	  * @return SysUnit
	 */
	public SysUnit findById(Integer id);
	
	/**
	  * 插入组织部门操作
	  * @Title: insert
	  * @author robot
	  * @date 2017年09月147日 09:21:08
	  * @param sysUnit
	  * @return void
	 */
	public void insert(SysUnit sysUnit);
	
	/**
	  *  更新组织部门操作
	  * @Title: update
	  * @author robot
	  * @date 2017年09月147日 09:21:08
	  * @param sysUnit
	  * @return void
	 */
	public void update(SysUnit sysUnit);
	
	/**
	  *  更新组织部门操作(remark如果为空也更新)
	  * @author zhuangjiajian
	  * @date 2017年09月147日 09:21:08
	  * @param sysUnit
	  * @return void
	 */
	public int updateSysUnit(SysUnit sysUnit);
	
	/**
	  * 删除组织部门
	  * @Title: delete
	  * @author robot
	  * @date 2017年09月147日 09:21:08
	  * @param id,
	  * @return void
	 */
	public void delete(Integer id);
	
	/**
	 * 搜索组织部门, 并自动分页
	  *  @Title: seachSysUnit
	  * @author robot
	  * @date 2017年09月147日 09:21:08
	  * @param sysUnit
	  * @param page
	  * @return
	  * @return List<SysUnit>
	 */
	public List<SysUnit> seachSysUnit(@Param("sysUnit") SysUnit sysUnit, @Param("page") Pagination page);
	
	/**
	 * 根据父级ID查询子部分信息
	 * @author zhuangjiajian
	 * @date 2017-9-23 14:41:55
	 * @param id
	 * @return
	 */
	public List<SysUnit> queryUnitByParent(@Param("id") Integer id, @Param("unitStatus") Integer unitStatus);
	
	/**
	 * 查询组织信息
	 * @author zhuangjiajian
	 * @date 2017-9-23 16:34:06
	 * @param sysUnit
	 * @param page
	 * @return
	 */
	public List<SysUnit> searchSysUnit(@Param("sysUnit") SysUnit sysUnit, @Param("page") Pagination page);
}